package pe.edu.upc.jtigers.svpn.service.implement;

import java.util.Collection;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import pe.edu.upc.jtigers.svpn.aplication.bean.UsuarioBean;
import pe.edu.upc.jtigers.svpn.aplication.excepcion.DAOExcepcion;
import pe.edu.upc.jtigers.svpn.domain.data.UsuarioDao;
import pe.edu.upc.jtigers.svpn.domain.model.Usuario;
import pe.edu.upc.jtigers.svpn.domain.service.UsuarioService;

@Service
@Transactional
public class UsuarioServiceImpl implements UsuarioService {

	@Autowired
	public UsuarioDao usuarioDao;

	@Override
	public Usuario iniciarSesion(Usuario usuario) {
		Usuario usuarioBD = null;
		try {

			if (usuario.getContrasena() != null
					&& usuario.getCorreoElectronico() != null) {
				
				usuarioBD = usuarioDao.iniciarSesion(usuario);
				
				if(usuarioBD!=null && usuarioBD.getPerfil()!=null)
				{
					usuarioBD.getPerfil().getMenus().size();
				}
				System.out.println(usuarioBD);
			}
		} catch (DAOExcepcion e) {
			e.printStackTrace();
		}
		return usuarioBD;
	}
	@Override
	public Collection<Usuario> buscarUsuarios(UsuarioBean usuario) {
		try {
			return usuarioDao.buscarUsuarios(usuario);
		} catch (DAOExcepcion e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	@Override
	public Usuario eliminarUsuario(int idUsuario) {
		try {
			usuarioDao.eliminarUsuario(idUsuario);
		} catch (DAOExcepcion e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
}
